The disclosed embodiments of the present invention relate to video frame processing, and more particularly, to a method and apparatus for motion vector predictor derivation.
The conventional video coding standards generally adopt a block based coding technique to exploit spatial and temporal redundancy. For example, the basic approach is to divide the whole source frame into a plurality of blocks, perform prediction on each block, transform residues of each block using discrete cosine transform, and perform quantization and entropy encoding. Besides, a reconstructed frame is generated in a coding loop to provide reference pixel data used for coding following blocks. For certain video coding standards, in-loop filter(s) may be used for enhancing the image quality of the reconstructed frame.
Motion vectors are used by motion compensation to reconstruct the inter-frames. With regard to a video decoder, a motion vector (MV) of a current block may be derived from a motion vector predictor (MVP) and a motion vector difference (MVD). For example, the computation of the motion vector may be expressed using the following equation:MV=MVP+MVD,where the MVP of the current block may be determined from motion vector data of neighbor reconstructed blocks, and the MVD may be decoded from a bitstream by an entropy decoder such as a variable length decoder (VLD).
The performance of the motion vector computation depends on the MVP derivation. Consider a case where a small-sized block is further sub-divided into a plurality of sub-blocks, it may require extra time to find an MVP for each of the sub-blocks within the same block (e.g., 8×8 block). This may induce considerable timing overhead if an inter-frame is composed of a large number of sub-blocks. Thus, there is a need for an innovative design which is capable of solving the above-mentioned problem related to the MVP derivation.